CS3551 Distributed Computing Syllabus - Anna University
Explore the Anna University CS3551 Distributed Computing syllabus under Regulation 2021.
S3551 DISTRIBUTED COMPUTING
L T P C: 3 0 0 3
COURSE OBJECTIVES:
- To introduce the computation and communication models of distributed systems
- To illustrate the issues of synchronization and collection of information in distributed systems
- To describe distributed mutual exclusion and distributed deadlock detection techniques
- To elucidate agreement protocols and fault tolerance mechanisms in distributed systems
- To explain the cloud computing models and the underlying concepts
UNIT I INTRODUCTION
Introduction: Definition-Relation to Computer System Components - Motivation - Message -Passing Systems versus Shared Memory Systems - Primitives for Distributed Communication - Synchronous versus Asynchronous Executions - Design Issues and Challenges; A Model of Distributed Computations: A Distributed Program - A Model of Distributed Executions - Models of Communication Networks - Global State of a Distributed System.
UNIT II LOGICAL TIME AND GLOBAL STATE
Logical Time: Physical Clock Synchronization: NTP - A Framework for a System of Logical Clocks - Scalar Time - Vector Time; Message Ordering and Group Communication: Message Ordering Paradigms - Asynchronous Execution with Synchronous Communication - Synchronous Program Order on Asynchronous System - Group Communication - Causal Order - Total Order; Global State and Snapshot Recording Algorithms: Introduction - System Model and Definitions - Snapshot Algorithms for FIFO Channels.
UNIT III DISTRIBUTED MUTEX AND DEADLOCK
Distributed Mutual exclusion Algorithms: Introduction - Preliminaries - Lamport's algorithm - Ricart-Agrawala's Algorithm - Token-Based Algorithms - Suzuki-Kasami's Broadcast Algorithm; Deadlock Detection in Distributed Systems: Introduction - System Model - Preliminaries - Models of Deadlocks - Chandy-Misra-Haas Algorithm for the AND model and OR Model.
UNIT IV CONSENSUS AND RECOVERY
Consensus and Agreement Algorithms: Problem Definition - Overview of Results - Agreement in a Failure-Free System(Synchronous and Asynchronous) - Agreement in Synchronous Systems with Failures; Checkpointing and Rollback Recovery: Introduction - Background and Definitions - Issues in Failure Recovery - Checkpoint-based Recovery - Coordinated Checkpointing Algorithm - Algorithm for Asynchronous Checkpointing and Recovery
UNIT V CLOUD COMPUTING
Definition of Cloud Computing - Characteristics of Cloud - Cloud Deployment Models - Cloud Service Models - Driving Factors and Challenges of Cloud - Virtualization - Load Balancing - Scalability and Elasticity - Replication - Monitoring - Cloud Services and Platforms: Compute Services - Storage Services - Application Services
COURSE OUTCOMES:
Upon the completion of this course, the student will be able to
- CO1: Explain the foundations of distributed systems (K2)
- CO2: Solve synchronization and state consistency problems (K3)
- CO3 Use resource sharing techniques in distributed systems (K3)
- CO4: Apply working model of consensus and reliability of distributed systems (K3)
- CO5: Explain the fundamentals of cloud computing (K2)
TOTAL:45 PERIODS
TEXT BOOKS
- Kshemkalyani Ajay D, Mukesh Singhal, "Distributed Computing: Principles, Algorithms and Systems", Cambridge Press, 2011.
- Mukesh Singhal, Niranjan G Shivaratri, "Advanced Concepts in Operating systems", Mc-Graw Hill Publishers, 1994.
REFERENCES
- George Coulouris, Jean Dollimore, Time Kindberg, "Distributed Systems Concepts and Design", Fifth Edition, Pearson Education, 2012.
- Pradeep L Sinha, "Distributed Operating Systems: Concepts and Design", Prentice Hall of India, 2007.
- Tanenbaum A S, Van Steen M, "Distributed Systems: Principles and Paradigms", Pearson Education, 2007.
- Liu M L, "Distributed Computing: Principles and Applications", Pearson Education, 2004.
- Nancy A Lynch, "Distributed Algorithms", Morgan Kaufman Publishers, 2003.
- Arshdeep Bagga, Vijay Madisetti, " Cloud Computing: A Hands-On Approach", Universities Press, 2014.